Actuating apparatus

ABSTRACT

An actuating apparatus has an actuator including a link having a plurality of joints and a plurality of motors for actuating the joints, and a controller for controlling the actuator. The controller controls the motors with a control torque m_τ_cntrl calculated according to the equation: 
         m _τ —   cntrl=M ·( I−mEff ) −1 ·( ddθ   —   cntrl−mEff·ddθ   —   cntrl   —   p )+ C   —   cmpn  
 
     from a target angular acceleration ddθ_cntrl, a preceding target angular acceleration ddθ_cntrl_p, a displaceable member torque response matrix Eff, an inertial matrix M, and a dynamic corrective force C_cmpn.

CROSS-REFERENCE TO RELATED APPLICATION

This application is based upon and claims the benefit of priority fromJapanese Patent Application No. 2012-192597 filed on Aug. 31, 2012, thecontents of which are incorporated herein by reference.

BACKGROUND OF THE INVENTION

1. Field of the Invention

The present invention relates to an actuating apparatus for actuatingjoints of a robot.

2. Description of the Related Art

Japanese Laid-Open Patent Publication No. 2005-349555 discloses anapparatus for controlling a robot arm having a flexible passive jointwith improved controllability against model parameter errors anddisturbances.

SUMMARY OF THE INVENTION

The apparatus disclosed in Japanese Laid-Open Patent Publication No.2005-349555 is capable of controlling a flexible passive joint withimproved controllability against disturbances. However, when the jointis actuated at a target angular acceleration, there occurs a responsedelay such as a first order lag or the like between the target angularacceleration and an actual angular acceleration of the joint, andfollowability, i.e., the ability to track the target angularacceleration, is deteriorated.

It is an object of the present invention to provide an actuatingapparatus which improves followability of actual angular accelerationwith respect to a target angular acceleration of a joint.

According to the present invention, there is provided an actuatingapparatus comprising an actuator including a link having a plurality ofdisplaceable members and a plurality of rotary prime movers foractuating the displaceable members, and a controller for controlling theactuator, wherein the controller includes a control torque calculatorfor calculating a control torque for the displaceable members so that anactual angular acceleration of the displaceable members will reach apresent target angular acceleration of the displaceable members after asampling time, using a displaceable member torque response matrixrepresenting a torque response of the displaceable members, an inertialmatrix of the actuator determined by an angle of the displaceablemembers, the present target angular acceleration of the displaceablemembers, and a preceding target angular acceleration of the displaceablemembers.

In the above actuating apparatus, each of the displaceable memberscomprises a joint which is rotatable or a back-and-forth member which isactuatable back and forth.

In the above actuating apparatus, the controller calculates the controltorque according to the following equation (1):

$\begin{matrix}{{{{m\_\tau}{\_ cntrl}} = {{M \cdot \left( {I - {mEff}} \right)^{- 1} \cdot \left( {{{dd}\; {\theta\_ cntrl}} - {{{mEff} \cdot {dd}}\; {\theta\_ cntrl}{\_ p}}} \right)} + {C\_ cmpn}}}\mspace{20mu} {where}\mspace{20mu} {{mEff} = {M^{- 1} \cdot {Eff} \cdot M}}{{{Eff} = {\begin{pmatrix}{eff}_{1} & \; & 0 \\\; & \ddots & \; \\0 & \; & {eff}_{n}\end{pmatrix} = \begin{pmatrix}{\frac{{Tc}_{1}}{DT} \cdot \left( {1 - {\exp \left( {- \frac{DT}{{Tc}_{1}}} \right)}} \right)} & \; & 0 \\\; & \ddots & \; \\0 & \; & {\frac{{Tc}_{n}}{DT} \cdot \left( {1 - {\exp \left( {- \frac{DT}{{Tc}_{n}}} \right)}} \right)}\end{pmatrix}}},\mspace{20mu} {{{m\_\tau}{\_ cntrl}} = \begin{pmatrix}{{m\_\tau}_{1}{\_ cntrl}} \\{{m\_\tau}_{2}{\_ cntrl}} \\\vdots \\{{m\_\tau}_{n}{\_ cntrl}}\end{pmatrix}},\mspace{20mu} {{{dd}\; {\theta\_ cntrl}} = \begin{pmatrix}{{dd}\; \theta_{1}{\_ cntrl}} \\{{dd}\; \theta_{2}{\_ cntrl}} \\\vdots \\{{dd}\; \theta_{n}{\_ cntrl}}\end{pmatrix}},\mspace{20mu} {{C\_ cmpn} = \begin{pmatrix}{C_{1}{\_ cmpn}} \\{C_{2}{\_ cmpn}} \\\vdots \\{C_{n}{\_ cmpn}}\end{pmatrix}}}} & (1)\end{matrix}$

wherem_τ_(i—)cntrl: control torques for i respective displaceable members;M: an inertial matrix of the actuator;I: a unit matrix;Eff: a displaceable member torque response matrix;eff_(i): displaceable member torque response coefficients;Tc_(i): time constants for respective displaceable members;DT: a sampling time;ddθ_(i—)cntrl: target angular accelerations for respective displaceablemembers;ddθ_cntrl_p: a vector representation of preceding target angularaccelerations ddθ_(i—)cntrl_p for i respective displaceable members; andC_(i—)cmpn: force vectors of centrifugal forces, Coriolis forces, or thelike, generated by the motion of i respective displaceable members,whereini=0, 1, 2, . . . , n

In the above actuating apparatus, a minimum time constant of thedisplaceable members is measured, and displaceable member torqueresponse coefficients which are diagonal elements of the displaceablemember torque response matrix are set using the measured minimum timeconstant.

In the above actuating apparatus, the control torque calculatorcalculates the present target angular acceleration of the displaceablemembers and the preceding target angular acceleration of thedisplaceable members, using a present target acceleration of change anda preceding target acceleration of change at a predetermined taskposition on the link and a coefficient matrix representing therelationship between a rate of change at the task position and angularvelocities of the displaceable members, for thereby calculating thecontrol torque for the displaceable members so that an actualacceleration of change at the task position will reach the presenttarget acceleration of change after the sampling time.

In the above actuating apparatus, the actuator includes a base supportedon the link, and the control torque calculator calculates the controltorque for the displaceable members so that an actual actuatordisplacement acceleration which includes an actual angular accelerationof the displaceable members and actual displacement accelerations inrespective directions of the base will reach a present target actuatordisplacement acceleration after the sampling time, from the presenttarget actuator displacement acceleration which includes the presenttarget angular acceleration and target displacement accelerations inrespective directions of the base, and a preceding target actuatordisplacement acceleration, using a force response matrix representingthe response of a force which a task position on a distal end of thelink receives from the ground, a coefficient matrix representing therelationship between rates of change in respective directions of thebase and a rate of change at the task position on the link, and acoefficient matrix representing the relationship between the rate ofchange at the task position and an angular velocity of the displaceablemembers.

According to the present invention, since the control torque calculatorcalculates a control torque for the displaceable members so that anactual angular acceleration of the displaceable members will reach apresent target angular acceleration of the displaceable members after asampling time, using a displaceable member torque response matrixrepresenting a torque response of the displaceable members, an inertialmatrix of the actuator determined by an angle of the displaceablemembers, the present target angular acceleration of the displaceablemembers, and a preceding target angular acceleration of the displaceablemembers, the actuation of a plurality of joints can be controlled withan improved responsiveness, making it possible to enhance followabilityof the actual angular accelerations of the joints with respect to thetarget angular accelerations of the joints.

According to the present invention, furthermore, since the controltorque calculator calculates the present target angular acceleration ofthe displaceable members and the preceding target angular accelerationof the displaceable members, using a present target acceleration ofchange and a preceding target acceleration of change at a predeterminedtask position on the link and a coefficient matrix representing therelationship between a rate of change at the task position and angularvelocities of the displaceable members, for thereby calculating thecontrol torque for the displaceable members so that an actualacceleration of change at the task position will reach the presenttarget acceleration of change after the sampling time, the actuation ofthe task position can be controlled with an improved responsiveness,making it possible to enhance followability of the actual accelerationof change at the task position with respect to the target accelerationof change at the task position.

According to the present invention, moreover, since the actuatorincludes a base supported on the link, and the control torque calculatorcalculates the control torque for the displaceable members so that anactual actuator displacement acceleration which includes an actualangular acceleration of the displaceable members and actual displacementaccelerations in respective directions of the base will reach a presenttarget actuator displacement acceleration after the sampling time, fromthe present target actuator displacement acceleration which includes thepresent target angular acceleration and target displacementaccelerations in respective directions for the base, and a precedingtarget actuator displacement acceleration, using a force response matrixrepresenting the response of a force which a task position on a distalend of the link receives from the ground, a coefficient matrixrepresenting the relationship between rates of change in respectivedirections of the base and a rate of change at the task position on thelink, and a coefficient matrix representing the relationship between therate of change at the task position and an angular velocity of thedisplaceable members, the actuation of the base can be controlled withan improved responsiveness, making it possible to enhance followabilityof the actual displacement acceleration of the base with respect to thetarget displacement acceleration of the base.

The above and other objects, features, and advantages of the presentinvention will become more apparent from the following description whentaken in conjunction with the accompanying drawings in which preferredembodiments of the present invention are shown by way of illustrativeexample.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 is a diagram showing an actuating apparatus according to anembodiment of the present invention;

FIG. 2 is a schematic view of the structure of a displaceable memberactuating system of an actuator;

FIG. 3 is a graph showing a first order lag of an actual torque from atarget torque;

FIG. 4 is a diagram illustrative of a minimum time constant and amaximum time constant;

FIG. 5 is a functional block diagram of a controller of the actuatingapparatus;

FIG. 6 is a schematic view of an actuator according to Modification 1 ofthe embodiment;

FIG. 7 is a schematic view of the structure of a displaceable memberactuating system of an actuator according to Modification 2 of theembodiment; and

FIG. 8 is a schematic view of the structure of a displaceable memberactuating system of an actuator according to Modification 3 of theembodiment.

DESCRIPTION OF THE PREFERRED EMBODIMENTS

Actuating apparatus according to preferred embodiments of the presentinvention will be described in detail below with reference to theaccompanying drawings.

FIG. 1 shows an actuating apparatus 10 according to an embodiment of thepresent invention. As shown in FIG. 1, the actuating apparatus 10includes an actuator 12 and a controller 14. The actuator 12 includes alink 20 having a plurality of joints 16 (16 ₁, 16 ₂) and a plurality ofconnectors 18 (18 ₁, 18 ₂). The connectors 18 are interconnected by thejoints 16 which serve as displaceable members. The joint 16 ₁ of afoundation of the link 20 is mounted on a base 19.

In FIG. 1, the actuator 12 is shown as having two joints 16 (16 ₁, 16 ₂)and two connectors 18 (18 ₁, 18 ₂). However, the actuator 12 accordingto the present embodiment will be described below as having n joints 16and n connectors 18. The respective joints 16 will be represented by 16_(i), and the respective connectors 18 will be represented by 18 _(i)where i represents i=1, 2, . . . , n, indicating the number of a joint16 or a connector 18.

FIG. 2 shows the structure of a displaceable member actuating system 30of the actuator 12. As shown in FIG. 2, the displaceable memberactuating system 30 has a motor 32 and a speed reducer 34. A joint 16 isoperatively connected to the motor 32 through the speed reducer 34.

The motor 32, which serves as a rotary prime mover, is an electric motorthat is supplied with electric energy from an electric power supply, notshown, to generate a torque tending to rotate an output shaft 32 aconnected to the motor 32 about its own axis. The output shaft 32 a isconnected to an input shaft 34 a of the speed reducer 34 for rotatingthe input shaft 34 a in unison with the output shaft 32 a. The speedreducer 34 outputs rotational power input to the input shaft 34 a at agiven speed reduction ratio from an output shaft 34 b thereof. Theoutput shaft 34 b of the speed reducer 34 is connected to an input shaft16 a of the joint 16.

The displaceable member actuating system 30 has an angle sensor 36 fordetecting an angle of the motor 32 and a torque sensor 38 for detectinga torque applied to the joint 16. For an easier understanding of thepresent invention, the speed reducer 34 will be omitted from descriptionand the angle and torque of the motor 32 will be described as the angleand torque of the joint 16. The angles of the respective joints 16 i,i.e., the angles of the motors 32 which actuate the respective joints 16_(i), will be represented by θ_(i). The angles θ_(i) of the joints 16_(i) refer to angles from a certain reference angle. From equations ofmotion, the following equations are satisfied.

$\begin{matrix}{{{{{M \cdot {dd}}\; {\theta\_ cntrl}} + {C\_ cmpn}} = {\tau\_ cntrl}}{where}{{M = \begin{pmatrix}m_{11} & \ldots & m_{1,n} \\\vdots & \ddots & \vdots \\m_{n\; 1} & \ldots & m_{nn}\end{pmatrix}},{{{dd}\; {\theta\_ cntrl}} = \begin{pmatrix}{{dd}\; \theta_{1}{\_ cntrl}} \\{{dd}\; \theta_{2}{\_ cntrl}} \\\vdots \\{{dd}\; \theta_{n}{\_ cntrl}}\end{pmatrix}}}{{{C\_ cmpn} = \begin{pmatrix}{C_{1}{\_ cmpn}} \\{C_{2}{\_ cmpn}} \\\vdots \\{C_{n}{\_ cmpn}}\end{pmatrix}},{{\tau\_ cntrl} = \begin{pmatrix}{\tau_{1}{\_ cntrl}} \\{\tau_{2}{\_ cntrl}} \\\vdots \\{\tau_{n}{\_ cntrl}}\end{pmatrix}}}} & (2) \\{{{{{M \cdot {dd}}\; {\theta\_ act}} + {C\_ cmpn}} = {\tau\_ act}}{where}{{{{dd}\; {\theta\_ act}} = \begin{pmatrix}{{dd}\; \theta_{1}{\_ act}} \\{{dd}\; \theta_{2}{\_ act}} \\\vdots \\{{dd}\; \theta_{n}{\_ act}}\end{pmatrix}},{{\tau\_ act} = \begin{pmatrix}{\tau_{1}{\_ act}} \\{\tau_{2}{\_ act}} \\\vdots \\{\tau_{n}{\_ act}}\end{pmatrix}}}} & (3)\end{matrix}$

In the above equations, a target torque τ_cntrl is a vectorrepresentation of target torques τ_(i—)cntrl for the motors 32 whichactuate the respective joints 16 _(i) (target torques τ_(i—)cntrl forthe joints 16 _(i)). A target angular acceleration ddθ_cntrl is a vectorrepresentation of target angular accelerations ddθ_(i—)cntrl for themotors 32 which actuate the respective joints 16 _(i) (target angularaccelerations ddθ_(i—)cntrl for the respective joints 16 _(i)). Thetarget angular accelerations ddθ_(i—)cntrl for the respective joints 16_(i) are target angular accelerations for the respective joints 16 _(i)at the time the target torques τ_(i—)cntrl are applied to the respectivejoints 16 _(i).

An actual torque τ_act is a vector representation of actual torquesτ_(i—)act of the motors 32 which actuate the respective joints 16 _(i)(actual torques τ_(i—)act of the respective joints 16 _(i)). An actualangular acceleration ddθ_act is a vector representation of actualangular accelerations ddθ_(i—)act of the motors 32 which actuate therespective joints 16 _(i) (actual angular accelerations ddθ_(i—)act ofthe respective joints 16 _(i)). The actual angular accelerationsddθ_(i—)act of the respective joints 16 _(i) are actual angularaccelerations of the respective joints 16 _(i) at the time the actualtorques τ_(i—)act are applied to the respective joints 16 _(i).

A dynamic corrective force C_cmpn is a vector representation of dynamiccorrective forces C_(i—)cmpn which represent force vectors generated bythe angles θ_(i) and angular accelerations dθ_(i) of the motors 32 ofthe respective joints 16 _(i) under a centrifugal force, a Coriolisforce, etc. An inertial matrix M is a matrix representing the inertialmoment (inertia) of the actuator 12. The dynamic corrective force C_cmpnand the inertial matrix M are determined depending on the angles of therespective joints 16 _(i) (the angles of the motors 32 of the respectivejoints 16 _(i)).

Ideally, since a target torque τ_cntrl is equal to an actual torqueτ_act, an actual angular acceleration ddθ_act is equal to target angularacceleration ddθ_cntrl. In reality, however, an actual torque τ_act is afirst order lag system of a target torque τ_cntrl, and the above idealrelationship does not hold true upon elapse of a sampling time DT, asshown in FIG. 3. An actual torque τ_act is expressed by the followingequation:

$\begin{matrix}{{{\tau\_ act} = {{\left( {{{\tau\_ cntrl} \cdot {\tau\_ cntrl}}{\_ p}} \right) \cdot L} + {{\tau\_ act}{\_ p}}}}{where}{L = \begin{pmatrix}{1 - {\exp \left( {- \frac{t}{{Tc}_{1}}} \right)}} & \; & 0 \\\; & \ddots & \; \\0 & \; & {1 - {\exp \left( {- \frac{t}{{Tc}_{n}}} \right)}}\end{pmatrix}}} & (4)\end{matrix}$

In the above equation, τ_cntrl_p refers to a vector representation ofpreceding target torques τ_(i—)cntrl_p for the motors 32 of therespective joints 16 _(i), τ_act_p refers to a vector representation ofpreceding actual torques τ_(i—)act_p of the motors 32 of the respectivejoints 16 _(i), t represents time, Tc_(i) represents time constants ofthe motors 32 of the respective joints 16 _(i), and L represents adiagonal matrix. In FIG. 3, it is assumed that the actuating apparatusstarts from a still state, and the preceding target torque τ_cntrl_p isof the same value as the preceding actual torque τ_act_p. In the presentembodiment, any value denoted with “_p” represents a preceding value.

The equation (4) may be integrated with respect to the sampling time DTand divided by the sampling time DT to derive the equation (5) shownbelow. A diagonal matrix Eff is a displaceable member torque responsematrix representing the torque responses of the motors 32 of pluraljoints 16, and diagonal elements thereof are represented by eff_(i) thatindicates displaceable member torque response coefficients of the motors32 of the respective joints 16 _(i).

Specifically, eff₁ indicates the displaceable member torque responsecoefficient of the motor 32 of the joint 16 ₁, and eff₂ indicates thedisplaceable member torque response coefficient of the motor 32 of thejoint 16 ₂. Since it is assumed that the actuating apparatus starts froma still state, the equation (5) is derived from the equation (4) usingthe equation: τ_act_p=τ_cntrl_p.

$\begin{matrix}{\mspace{79mu} {{{\tau\_ act} = {{\tau\_ cntrl} - {{Eff} \cdot \left( {{{\tau\_ cntrl} \cdot {\tau\_ cntrl}}{\_ p}} \right)}}}\mspace{20mu} {where}{{Eff} = {\begin{pmatrix}{eff}_{1} & \; & 0 \\\; & \ddots & \; \\0 & \; & {eff}_{n}\end{pmatrix} = \begin{pmatrix}{\frac{{Tc}_{1}}{DT} \cdot \left( {1 - {\exp \left( {- \frac{DT}{{Tc}_{1}}} \right)}} \right)} & \; & 0 \\\; & \ddots & \; \\0 & \; & {\frac{{Tc}_{n}}{DT} \cdot \left( {1 - {\exp \left( {- \frac{DT}{{Tc}_{n}}} \right)}} \right)}\end{pmatrix}}}}} & (5)\end{matrix}$

The following equation (6) can be derived from the equation (5).

τ_(—) act=(I−Eff)·τ_(—) cntrl+Eff·τ _(—) cntrl _(—) p  (6)

The following equation (7) can be derived from the equations (2) and(6).

τ_(—) act=(I−Eff)·(M·ddθ _(—) cntrl+C _(—) cmpn)+Eff·(M·ddθ _(—) cntrl_(—) p+C _(—) cmpn _(—) p)  (7)

where ddθ_cntrl_p is a vector representation of preceding target angularaccelerations ddθ_(i—)cntrl_p for the motors 32 of the respective joints16 _(i), and C_cmpn_p is a vector representation of preceding dynamiccorrective forces C_(i—)cmpn_p.

Since the dynamic corrective force C_cmpn does not change greatly fromthe preceding dynamic corrective force C_cmpn_p in one sampling time DT,the dynamic corrective force C_cmpn can be regarded as being equal tothe preceding dynamic corrective force C_cmpn_p. Therefore, thefollowing equation (8) can be derived from the equations (3), (7), andthe equation C_cmpn=C_cmpn_p.

ddθ _(—) act=M ⁻¹·(I−Eff)·M·ddθ _(—) cntrl+M ⁻¹ ·Eff·M·ddθ _(—) cntrl_(—) p=(I−mEff)·ddθ _(—) cntrl+mEff·ddθ _(—) cntrl _(—) p  (8)

where

mEff=M ⁻¹ ·Eff·M

In order for the actual angular acceleration ddθ_act to reach the valueof the target angular acceleration ddθ_cntrl after a sampling time, itneeds to satisfy the following equation (9).

$\begin{matrix}{\mspace{79mu} {{{{dd}\; {\theta\_ cntrl}} = {\left. {{{\left( {I - {mEff}} \right) \cdot {m\_ dd}}\; {\theta\_ cntrl}} + {{{mEff} \cdot {dd}}\; {\theta\_ cntrl}{\_ p}}}\mspace{20mu}\Rightarrow {{m\_ dd\theta}{\_ cntrl}} \right. = {{{\left( {I - {mEff}} \right)^{- 1} \cdot {dd}}\; {\theta\_ cntrl}} - {{\left( {I - {mEff}} \right)^{- 1} \cdot {mEff} \cdot {dd}}\; {\theta\_ cntrl}{\_ p}}}}}\mspace{20mu} {{{m\_ dd\theta}{\_ cntrl}} = \begin{pmatrix}{{m\_ dd\theta}_{1}{\_ cntrl}} \\{{m\_ dd\theta}_{2}{\_ cntrl}} \\\vdots \\{{m\_ dd\theta}_{n}{\_ cntrl}}\end{pmatrix}}}} & (9)\end{matrix}$

In the above equation (9), a control angular acceleration m_ddθ_cntrl isa vector representation of control angular accelerations m_ddθ_(i—)cntrlfor the motors 32 of the respective joints 16 _(i), and control angularaccelerations m_ddθ_(i—)cntrl are control angular accelerations formaking the actual angular accelerations ddθ_(i—)act of the motors 32 ofthe respective joints 16 _(i) reach the values of the target angularaccelerations ddθ_(i—)cntrl after a sampling time.

Using the control angular acceleration m_ddθ_cntrl, the equation (2) canbe expressed as follows:

$\begin{matrix}{{{{{M \cdot {m\_}}{d}\; {\theta\_ cntrl}} + {C\_ cmpn}} = {{m\_\tau}{\_ cntrl}}}{where}{{{m\_\tau}{\_ cntrl}} = \begin{pmatrix}{{m\_\tau}_{1}{\_ cntrl}} \\{{m\_\tau}_{2}{\_ cntrl}} \\\vdots \\{{m\_\tau}_{n}{\_ cntrl}}\end{pmatrix}}} & (10)\end{matrix}$

In the above equation (10), a control torque m_τ_cntrl is a vectorrepresentation of control torques m_τ_(i—)cntrl for the motors 32 of therespective joints 16 _(i), and is a control torque for providing controlangular accelerations m_ddθ_(i—)cntrl for the motors 32 of therespective joints 16 _(i) at the time the control torques m_τ_(i—)cntrlare applied to the motors 32 of the respective joints 16 _(i).

From the equations (9), (10), the following equation (11) can bederived.

m_τ_(—) cntrl=M·(I−mEff)⁻¹·(ddθ _(—) cntrl−mEff·ddθ _(—) cntrl _(—) p)+C_(—) cmpn  (11)

It is thus possible to determine control torques m_τ_(i—)cntrl for themotors 32 of the respective joints 16 _(i) so that actual angularaccelerations ddθ_(i—)act of the motors 32 of the respective joints 16_(i) reach present target angular accelerations ddθ_(i—)cntrl after asampling time DT, using the present target angular accelerationsddθ_(i—)cntrl for the motors 32 of the respective joints 16 _(i),preceding target angular accelerations ddθ_(i—)cntrl_p for the motors 32of the respective joints 16 _(i), an inertial matrix M, and adisplaceable member torque response matrix Eff, etc.

The target angular acceleration ddθ_cntrl is determined by a PD controlprocess according to the equationddθ_cntrl=Kp·(θ_des−θ_act)+Kv·(dθ_des−dθ_act). Control torquesm_τ_(i—)cntrl are determined from the target angular accelerationddθ_cntrl thus determined, and the motors 32 of the joints 16 _(i) arecontrolled according to the control torques m_τ_(i—)cntrl thusdetermined. Therefore, the motors 32 of the respective joints 16 _(i)are controlled with an improved responsiveness.

In the above equation, Kp represents a proportionality gain, Kvrepresents a derivative gain, θ_des represents a vector representationof demand angles θ_(i—)des for the motors 32 of the respective joints 16_(i), θ_act is a vector representation of actual angles θ_(i—)act of themotors 32 of the respective joints 16 _(i), dθ_des is a vectorrepresentation of demand angular velocities dθ_(i—)des for the motors 32of the respective joints 16 _(i), and dθ_act is a vector representationof actual angular velocities dθ_(i—)act of the motors 32 of therespective joints 16 _(i). The actual angles θ_(i—)act are of valuesdetected by the angle sensors 36 of the motors 32 of the respectivejoints 16 _(i), and the actual angular velocities dθ_(i—)act aredetermined from the actual angles θ_(i—)act.

The responsiveness of a predetermined task position A (see FIG. 1) onthe link 20 can be improved to control the actuation of the taskposition A. Since the link 20 is supported by the joints 16 at a certainposture, the task position A changes when the angular velocities dθ_(i)of the motors 32 of the respective joints 16 _(i) change. This can beexpressed by the following equation (12), using a Jacobian matrix J.

$\begin{matrix}{{{{x\_ cntrl}} = J}{\cdot {{\theta\_ cntrl}}}{where}{{{{x\_ cntrl}} = \begin{pmatrix}{{x_{1}}{\_ cntrl}} \\{{x_{2}}{\_ cntrl}} \\\vdots \\{{x_{n}}{\_ cntrl}}\end{pmatrix}},{{{\theta\_ cntrl}} = \begin{pmatrix}{{\theta_{1}}{\_ cntrl}} \\{{\theta_{2}}{\_ cntrl}} \\\vdots \\{{\theta_{n}}{\_ cntrl}}\end{pmatrix}}}} & (12)\end{matrix}$

where a target angular velocity dθ_cntrl is a vector representation oftarget angular velocities dθ_(i—)cntrl for the motors 32 of therespective joints 16 _(i), and a target rate of change dx_cntrl is avector representation of target rates of change dx_(1—)cntrl,dx_(2—)cntrl, dx_(n—)cntrl in respective directions at the task positionA. The directions include an x-axis direction, a y-axis direction, arotational direction about an x-axis, and a rotational direction about ay-axis.

When the equation (12) is differentiated, it is expressed by theequation (13) below. In the equation (13), a target acceleration ofchange ddx_cntrl is a vector representation of target accelerations ofchange ddx_(1—)cntrl, ddx_(2—)cntrl, ddx_(n—)cntrl in respectivedirections at the task position A.

$\begin{matrix}{{{{d}\; {x\_ cntrl}} = {{{J} \cdot {{\theta\_ cntrl}}} + {{J \cdot d}\; {{\theta\_ cntrl}}}}}{where}{{{d}\; {x\_ cntrl}} = \begin{pmatrix}{{{dx}_{1}}{\_ cntrl}} \\{{{dx}_{2}}{\_ cntrl}} \\\vdots \\{{{dx}_{n}}{\_ cntrl}}\end{pmatrix}}} & (13)\end{matrix}$

Consequently, J·ddθ_cntrl−J·mEff·ddθ_cntrl_p can be expressed by theequation (14) below, using the equation (13). dθ_cntrl_p is a vectorrepresentation of preceding target angular velocities dθ_(i—)cntrl_p forthe motors 32 of the respective joints 16 _(i), and ddx_cntrl_p is avector representation of preceding target accelerations of changeddx_(i—)cntrl_p in respective directions at the task position A.

$\begin{matrix}{{{{{J \cdot {d}}\; {\theta\_ cntrl}} - {{J \cdot m}\; {{Eff} \cdot {d}}\; {\theta\_ cntrl}{\_ p}}} = {{{{d}\; {x\_ cntrl}} - {{J} \cdot {{\theta\_ cntrl}}} - {J \cdot {mEff} \cdot \left( {{{J^{- 1} \cdot {d}}\; {x\_ cntrl}{\_ p}} - {{J^{- 1} \cdot {J} \cdot {{\theta\_ cntrl}}}{\_ p}}} \right)}} = {{{d}\; {x\_ cntrl}} - {j\; {{mEff} \cdot {d}}\; {x\_ cntrl}{\_ p}} - \left( {{{J} \cdot {{\theta\_ cntrl}}} - {j\; {{mEff} \cdot {J} \cdot {{\theta\_ cntrl}}}{\_ p}}} \right)}}}\mspace{79mu} {where}\mspace{79mu} {{j\; {mEff}} = {J \cdot {mEff} \cdot J^{- 1}}}} & (14)\end{matrix}$

The equation (14) can be modified into the following equation (15).

J·filtd _(—) ddθ _(—) cntrl=filtd _(—) ddx _(—) cntrl−(dJ·dθ _(—)cntrl−jmEff·dJ·dθ _(—) cntrl _(—) p)  (15)

where

filtd _(—) ddθ _(—) cntrl=ddθ _(—) cntrl−mEff·ddθ _(—) cntrl _(—) p

filtd _(—) ddx _(—) cntrl=ddx _(—) cntrl−jmEff·ddx _(—) cntrl _(—) p

The equation (11) can be modified into the following equation (16):

M′·(ddθ _(—) cntrl−mEff·ddθ _(—) cntrl _(—) p)+C _(—) cmpn=m_τ_(—)cntrl  (16)

where

M′=M·(I−mEff)⁻¹

The following equation (17) is derived by multiplying the terms of theequation (16) by J·(M′)⁻¹.

J·(ddθ _(—) cntrl−mEff·ddθ _(—) cntrl _(—) p)+J·(M′)⁻¹ ·C _(—)cmpn=J·(M′)⁻¹ ·m_τ_(—) cntrl  (17)

The equation (17) can be rewritten as follows, using the equations inthe proviso of the equation (15).

J·filtd _(—) ddθ _(—) cntrl+J·(M′)⁻¹ ·C _(—) cmpn=J·(M′)⁻¹ ·m_τ_(—)cntrl  (18)

The control torque m_τ_cntrl and the force F at the task position A canbe expressed as follows, using the transposed matrix J^(T) of theJacobian matrix J. The force F is a vector representation of forces f₁,f₂, . . . , f_(n) in respective directions at the task position A.

$\begin{matrix}{{{{m\_\tau}{\_ cntrl}} = {J^{T} \cdot F}}{where}{F = \begin{pmatrix}f_{1} \\f_{2} \\\vdots \\f_{n}\end{pmatrix}}} & (19)\end{matrix}$

Using the equations (15), (19), the equation (18) can be modified in thefollowing equation (20).

filted _(—) ddx _(—) cntrl−(dJ·dθ _(—) cntrl−jmEff·dJ·dθ _(—) cntrl _(—)p)+J·(M′)⁻¹ ·C _(—) cmpn=J·(M′)⁻¹ ·J ^(T) ·F  (20)

The equation (20) can be modified into the following equation (21).

Λ′·filtd_(—) ddx _(—) cntrl−Λ′·(dJ·dθ _(—) cntrl−jmEff·dJ·dθ _(—) cntrl_(—) p)+Λ′·J·(M′)⁻¹ ·C _(—) cmpn=F  (21)

where

Λ′=(J·(M′)⁻¹ ·J ^(T))⁻¹

The equation (21) can be modified into the following equation (22).

$\begin{matrix}{\mspace{79mu} {{{{{\Lambda^{\prime} \cdot {filtd\_}}{d}\; {x\_ cntrl}} + \mu} = F}\mspace{79mu} {Where}{\mu = {{{- \Lambda^{\prime}} \cdot \left( {{{J} \cdot {{\theta\_ cntrl}}} - {j\; {{mEff} \cdot {J} \cdot {{\theta\_ cntrl}}}{\_ p}}} \right)} + {\Lambda^{\prime} \cdot J \cdot \left( M^{\prime} \right)^{- 1} \cdot {C\_ cmpn}}}}}} & (22)\end{matrix}$

Since the equation (11) can be modified into the equation (22), theresponsiveness of the task position A can be improved by controlling theactuation of the motors 32 of the respective joints 16 _(i).Specifically, using the present target acceleration of change ddx_cntrland the preceding target acceleration of change ddx_cntrl_p at the taskposition A, the force F at the task position A can be determined so thatthe actual acceleration of change ddx_act at the task position A reachesthe target acceleration of change ddx_cntrl at the task position A.Based on the determined force F, the control torques m_τ_cntrl for therespective joints 16 _(i) are determined according to the equation (19),and the motors 32 of the respective joints 16 _(i) are controlled basedon the determined control torques m_τ_cntrl, thereby improving theresponsiveness of the task position A.

Using the equation (12), the equation (13) can be modified as follows:

ddθ _(—) cntrl=J ⁻¹ ·ddx _(—) cntrl−J ⁻¹ ·dJ·dθ _(—) cntrl

ddθ _(—) cntrl=J ⁻¹ ·ddx _(—) cntrl−J ⁻¹ ·dJ·J ⁻¹ ·dx _(—) cntrl  (23)

The following equation (24) can be derived from the equation (23).

ddθ _(—) cntrl _(—) p=J ⁻¹ ·ddx _(—) cntrl _(—) p−J ⁻¹ ·dJ·J ⁻¹ ·dx _(—)cntrl _(—) p  (24)

By substituting the equations (23), (24) in ddθ_cntrl and ddθ_cntrl_p inthe equation (11), it is possible to determine control torquesm_τ_(i—)cntrl for the motors 32 of the respective joints 16 _(i) forimproving the responsiveness of the task position A. Specifically, it ispossible to determine the control torques m_τ_(i—)cntrl for the motors32 of the respective joints 16 _(i), using the present targetacceleration of change ddx_cntrl, the preceding target acceleration ofchange ddx_cntrl_p, the present target rate of change dx_cntrl, and thepreceding target rate of change dx_cntrl_p.

The time constant Tc_(i) which represents the torque response of themotors 32 of the respective joints 16 _(i) is different dependent on theinertial moments of the support and load sides, such as the state of thelink 20, e.g., the actual angles θ_(i—)act of the motors 32 of thejoints 16 _(i).

For example, as shown in FIG. 4, the joint 16 ₁ at the foundation of thelink 20 as indicated by the solid lines and the joint 16 ₁ at thefoundation of the link 20 as indicated by the two-dot-and-dash lineshave different load states, different torque responses, and differenttime constants Tc_(i). Therefore, the time constants Tc_(i) of themotors 32 of the respective joints 16 _(i) are measured, and are set ina range of a minimum time constant Tc_(i—)min<time constant Tc_(i)<amaximum time constant Tc_(i—)max.

If the time constant Tc_(i) is set to the maximum time constantTc_(i—)max, then the behavior of the joints may be improved excessively.If the time constant Tc_(i) is set to the minimum time constantTc_(i—)min, then the behavior of the joints may be stabilizedexcessively. However, usually, the time constant Tc_(i) shouldpreferably be set to the minimum time constant Tc_(i—)min.

As described above, the time constants Tc_(i) of the motors 32 of therespective joints 16 _(i) are thus set, and the values of eff_(i) whichrepresent the diagonal elements of the displaceable member torqueresponse matrix Eff described above are determined based on the set timeconstants Tc_(i).

FIG. 5 is a functional block diagram of the controller 14. As shown inFIG. 15, the controller 14 includes a response matrix setter 50, amatrix determiner 52, a dynamic corrective force determiner 54, a targetvalue setter 56, a control torque calculator 58, and a motor controller60.

The response matrix setter 50 determines time constants Tc_(i) of thejoints 16 _(i) based on the minimum time constant Tc_(i—)min and thetime constant Tc_(i—)max which have been measured for the respectivejoints 16 i. Then, the response matrix setter 50 sets a displaceablemember torque response matrix Eff by determining displaceable membertorque response coefficients eff_(i) of the joints 16 _(i) at thedetermined time constants Tc_(i), as indicated by the equation (5).According to the present embodiment, the response matrix setter 50 setsthe minimum time constant Tc_(i—)min of the joints 16 _(i) as the timeconstants Tc_(i) of the respective joints 16 _(i). Then, the responsematrix setter 50 outputs the set displaceable member torque responsematrix Eff to the control torque calculator 58.

The matrix determiner 52 determines an inertial matrix M representingthe inertial moment of the actuator 12 based on the actual angles θ_actof the plural joints 16. The matrix determiner 52 also determines aJacobian matrix (coefficient matrix) J depending on the task position Aand the actual angles θ_act of the plural joints 16. The task position Amay be detected by a gyro sensor or the like disposed in the taskposition A, or may be calculated from the actual angles θ_(i—)act of thejoints 16 _(i). The processes of calculating the inertial matrix M andthe Jacobian matrix J are well known in the art and will not bedescribed in detail below. The matrix determiner 52 outputs thedetermined inertial matrix M and the determined Jacobian matrix J to thecontrol torque calculator 58.

The dynamic corrective force determiner 54 calculates dynamic correctiveforces C_(i—)cmpn which represent force vectors generated by the actualangles θ_(i) and the actual angular accelerations dθ_(i) of therespective joints 16 _(i) under centrifugal forces, Coriolis forces,etc. The dynamic corrective force determiner 54 calculates dynamiccorrective forces C_(i—)cmpn for the respective joints 16 _(i) dependingon the angles θ_(i) of the respective joints 16 _(i). The process ofcalculating dynamic corrective forces C_(i—)cmpn is well known in theart and will not be described in detail below. The dynamic correctiveforce determiner 54 outputs the calculated dynamic corrective forcesC_(i—)cmpn to the control torque calculator 58.

The target value setter 56 sets a target angular acceleration ddθ_cntrlfor the plural joints 16 or a target acceleration of change ddx_cntrlfor the task position A. The target angular acceleration ddθ_cntrl canbe determined by a PD control process according to the equationddθ_cntrl=Kp·(θ_des−θ_act)+Kv·(dθ_des−dθ_act). The demand angle θ_desand the demand angular velocity dθ_des or the target acceleration ofchange ddx_cntrl is determined depending on various factors such as thestates of the joints 16 or the task position A. The target value setter56 outputs the set target angular acceleration ddθ_cntrl for the pluraljoints 16 or the set target acceleration of change ddx_cntrl to thecontrol torque calculator 58.

The control torque calculator 58 calculates control torques m_τ_cntrlfor the plural joints 16 based on the target angular accelerationddθ_cntrl or the target acceleration of change ddx_cntrl sent from thetarget value setter 56. Specifically, if the control torque calculator58 is supplied with the target angular acceleration ddθ_cntrl from thetarget value setter 56, then the control torque calculator 58 calculatescontrol torques m_τ_cntrl according to the equation (11) from the targetangular acceleration ddθ_cntrl, the preceding target angularacceleration ddθ_cntrl_p, the displaceable member torque response matrixEff, the inertial matrix M, and the dynamic corrective force C_cmpn.

If the control torque calculator 58 is supplied with the targetacceleration of change ddx_cntrl from the target value setter 56, thenthe control torque calculator 58 calculates control torques m_τ_cntrlaccording to the equation (22) (see the equations (12) through (21) orthe equations (11), (23), (24), using the target acceleration of changeddx_cntrl, the preceding target acceleration of change ddx_cntrl_p, thedisplaceable member torque response matrix Eff, the inertial matrix M,the dynamic corrective force C_cmpn, and the Jacobian matrix J. Thecontrol torque calculator 58 outputs the calculated control torquesm_τ_cntrl for the plural joints 16 to the motor controller 60.

The motor controller 60 controls the plural motors 32 based on thesupplied control torques m_τ_cntrl for the plural joints 16. In thismanner, the actuation of the joints 16 _(i) or the task position A canbe controlled with the improved responsiveness of the joints 16 _(i) orthe improved responsiveness of the task position A. Consequently, thefollowability of the actual torque τ_act with respect to the targettorque τ_cntrl, i.e., the followability of the actual angularacceleration ddθ_act with respect to the target angular accelerationddθ_cntrl can be increased.

As described above, the controller 14 calculates control torquesm_τ_cntrl for the plural joints 16 so that the actual angularaccelerations ddθ_act of the plural joints 16 will reach the presenttarget angular accelerations ddθ_cntrl of the plural joints 16 after thesampling time DT, using the displaceable member torque response matrixEff representing the torque responses of the plural joints 16, theinertial matrix M of the actuator 12 determined by the angles θ of theplural motors 32, the present target angular accelerations ddθ_cntrl ofthe plural joints 16, and the preceding target angular accelerationsddθ_cntrl_p of the plural joints 16. Therefore, the actuation of theplural joints 16 can be controlled with an improved responsiveness,making it possible to enhance followability of the actual angularaccelerations ddθ_act of the plural joints 16 with respect to the targetangular accelerations ddθ_cntrl of the plural joints 16.

The controller 14 also calculates control torques m_τ_cntrl for theplural joints 16 so that the actual acceleration of change ddx_act atthe task position A will reach the target acceleration of changeddx_cntrl at the task position A after the sampling time DT, using thedisplaceable member torque response matrix Eff representing the torqueresponsiveness of the plural joints 16, the inertial matrix M and theJacobian matrix J of the actuator 12 determined by the angles θ of theplural motors 32, the present target acceleration of change ddx_cntrl atthe predetermined task position A of the link 20, and the precedingtarget acceleration of change ddx_cntrl_p at the task position A.Therefore, the actuation of the plural joints 16 can be controlled withan improved responsiveness, making it possible to enhance followabilityof the actual angular accelerations ddθ_act of the plural joints 16 withrespect to the target angular accelerations ddθ_cntrl of the pluraljoints 16. Consequently, the actuation of the task position A can becontrolled with an improved responsiveness, making it possible toenhance followability of the actual acceleration of change ddx_act atthe task position A with respect to the target acceleration of changeddx_cntrl at the task position A.

MODIFICATIONS

The above embodiment may be modified as follows:

Modification 1

According to Modification 1, the torque response of an object which isconnected to a link and which cannot be actuated by itself is improved.

FIG. 6 shows an actuator 12 according to Modification 1. As shown inFIG. 6, the actuator 12 includes two links 20 for use as legs and a base80 supported on the links 20. The left link is referred to as a link20L, and the right link is referred to as a link 20R.

In FIG. 6, the links 20L, 20R have respective sets of three joints,i.e., joints 16 ₁L, 16 ₁R, joints 16 ₂L, 16 ₂R, and joints 16 ₃L, 16 ₃R.The joints 16 ₁L, 16 ₁R are connected to the base 80. Alternatively, thelinks 20L, 20R may have respective sets of two joints 16 _(i) or four ormore joints 16 _(i). According to Modification 1, the actuator includesn joints 16, and the joints 16 of the links 20L, 20R are denoted by 16_(i).

The base 80 is free of joints and motors for actuating such joints, andhence cannot be actuated by itself. However, the base 80 is indirectlyactuated freely when the links 20L, 20R are actuated. The structureshown in FIG. 6 is expressed by the following equation of motion.

$\begin{matrix}{{{{M \cdot \begin{pmatrix}{{d}\; {base\_ act}} \\{{d}\; {\theta\_ act}}\end{pmatrix}} + \begin{pmatrix}{{C\_ cmpn}{\_ base}} \\{C\_ cmpn}\end{pmatrix} + {\begin{pmatrix}{Jbase}^{T} \\J^{T}\end{pmatrix} \cdot F}} = \begin{pmatrix}0 \\{\tau\_ act}\end{pmatrix}}\mspace{79mu} {where}{{{{d}\; {base}} = \begin{pmatrix}{{d}\; {base}_{1}{\_ act}} \\{{d}\; {base}_{2}{\_ act}} \\\vdots \\{{d}\; {base}_{n}{\_ act}}\end{pmatrix}},{{{C\_ cmpn}{\_ base}} = \begin{pmatrix}{C_{1}{\_ cmpn}{\_ base}} \\{C_{2}{\_ cmpn}{\_ base}} \\\vdots \\{C_{n}{\_ cmpn}{\_ base}}\end{pmatrix}}}} & (25)\end{matrix}$

In the above equation, an actual displacement acceleration ddbase_act isa vector representation of actual displacement accelerationsddbase_(i—)act, ddbase_(2—)act, . . . , ddbase_(n—)act in respectivedirections on the base 80. The directions include an x-axis direction, ay-axis direction, a z-axis direction, a rotational direction about anx-axis, a rotational direction about a y-axis, and a rotationaldirection about a z-axis, etc. The dynamic corrective force C_cmpn_baseis a vector representation of dynamic corrective forces C_(i—)cmpn_base,C₂ cmpn_base, . . . , C, cmpn_base in respective directions on the base80 under a centrifugal force, a Coriolis force, etc. The dynamiccorrective force C_cmpn_base is determined by the dynamic correctiveforce determiner 54.

Jbase represents a Jacobian matrix (coefficient matrix) representing therelationship between rates of change in respective directions on thebase 80 and a rate of change at a foot tip (task position A) as thedistal end of the link 20L (20R). J represents a Jacobian matrixrepresenting the relationship between the angular velocities dθ_(i) ofthe motors 32 of the respective joints 16 _(i) and a rate of change at afoot tip (task position A) of the link 20L (20R). The Jacobian matrixesJbase, J are determined by the matrix determiner 52 depending on theposition of the base 80, the position of the foot tip, and the actualangles θ_act of the plural joints 16, and the like.

As can be seen from the equation (25), the actual torques τ_act of themotors 32 of the respective joints 16 _(i) are determined based on thetorques (M·ddθ_act) that are determined based on the actual angularaccelerations ddθ_act of the motors 32 of the plural joints 16 and thetorques (J^(T)·F) that are applied to the plural joints 16 based on theforce F which the task position A receives from the ground. An actualtorque to be applied to the base 80 is determined based on the torque(M·ddbase_act) that is determined based on the actual displacementacceleration ddbase_act of the base 80 and the torques (Jbase^(T)·F)that are applied in respective directions to the base 80 based on theforce F borne by the task position A. However, since the base 80 has nomotor, the actual torque to be applied thereto is nil.

The equation (25) can be modified into the following equation (26).

$\begin{matrix}{{{M \cdot \begin{pmatrix}{{d}\; {base\_ act}} \\{{d}\; {\theta\_ act}}\end{pmatrix}} + \begin{pmatrix}{{C\_ cmpn}{\_ base}} \\{C\_ cmpn}\end{pmatrix}} = {\begin{pmatrix}{{- {Jbase}^{T}} \cdot F} \\{{\tau\_ act} - {J^{T} \cdot F}}\end{pmatrix} = \begin{pmatrix}{{\tau\_ x}{\_ act}} \\{{\tau\_\theta}{\_ act}}\end{pmatrix}}} & (26)\end{matrix}$

The equation (26) can be expressed by the equation (27) below. ddq_actwhich represents the actual angular accelerations ddθ_act of the pluraljoints 16 and the actual displacement acceleration ddbase_act of thebase 80 is referred to as an actual actuator displacement acceleration,and τ_total_act which represents τ_x_act and τ_θ_act is referred to as ageneral actual torque.

$\begin{matrix}{{{{{M \cdot {d}}\; {q\_ act}} + {C^{\prime}{\_ cmpn}}} = {{\tau\_ total}{\_ act}}}{where}{{{{d}\; {q\_ act}} = \begin{pmatrix}{{d}\; {base\_ act}} \\{{d}\; {\theta\_ act}}\end{pmatrix}},{{{\tau\_ total}{\_ act}} = \begin{pmatrix}{{\tau\_ x}{\_ act}} \\{{\tau\_\theta}{\_ act}}\end{pmatrix}}}} & (27)\end{matrix}$

The force F that is received by the task position A can be expressed bythe equation (28) below as is the case with the equation (6). In theequation (28), F_Eff is a force response matrix representing theresponse of a force received by the foot tip as the task position A, theforce response matrix having diagonal elements represented by forceresponse coefficients f_eff₁, f_eff₂, . . . , f_eff_(n). F_cntrl is atarget force to be received by the task position A (target force). Aforce F that is actually received by the task position A with respect tothe target force F_cntrl is determined according to the equation (28).By measuring the actual force F with respect to the target forceF_cntrl, the response matrix setter 50 sets a desired force responsematrix F_Eff.

$\begin{matrix}{{F = {{\left( {I - {F\_ Eff}} \right) \cdot {F\_ cntrl}} + {{{F\_ Eff} \cdot {F\_ cntrl}}{\_ p}}}}{where}{{F\_ Eff} = \begin{pmatrix}{f\_ eff}_{1} & \; & 0 \\\; & \ddots & \; \\0 & \; & {f\_ eff}_{n}\end{pmatrix}}} & (28)\end{matrix}$

The actual torque τ_θ_act can be expressed by the equation (29) below asis the case with the equation (6). In the equation (29), τ_θ_cntrlrefers to a target torque. The actual torque τ_θ_act with respect to thetarget torque τ_θ_cntrl can be determined according to the equation(29).

τ_θ_(—) act=(I−Eff)·τ_θ_(—) cntrl+Eff·τ_θ_(—) cntrl _(—) p  (29)

The actual torque τ_x_act can be expressed by the equation (30) below asis the case with the equation (6). In the equation (30), τ_x_cntrlrefers to a target torque. The actual torque τ_x_act with respect to thetarget torque τ_x_cntrl can be determined according to the equation(30).

$\begin{matrix}{{{{\tau\_ x}{\_ act}} = {{{{\left( {I - {{Jbase}^{T} \cdot {F\_ Eff}}} \right) \cdot {\tau\_ x}}{\_ cntrl}} + {{{Jbase}^{T} \cdot {F\_ Eff} \cdot {\tau\_ x}}{\_ cntrl}{\_ p}}} = {{{\left( {I - {xEff}} \right) \cdot {\tau\_ x}}{\_ cntrl}} + {{{xEff} \cdot {\tau\_ x}}{\_ cntrl}{\_ p}}}}}\mspace{79mu} {where}\mspace{79mu} {{xEff} = {{Jbase}^{T} \cdot {F\_ Eff}}}} & (30)\end{matrix}$

By substituting the equations (29), (30) in the actual torque τ_θ_actand the actual torque τ_x_act in the equation (27), the equation (27) isexpressed by the following equation (31).

$\begin{matrix}{{{{M \cdot {d}}\; {q\_ act}} + {C^{\prime}{\_ cmpn}}} = {{{\begin{pmatrix}{1 - {xEff}} & 0 \\0 & {1 - {Eff}}\end{pmatrix} \cdot {\tau\_ total}}{\_ act}} + {{\begin{pmatrix}{xEff} & 0 \\0 & {Eff}\end{pmatrix} \cdot {\tau\_ total}}{\_ act}{\_ p}}}} & (31)\end{matrix}$

From general equations of motion, the following equation is derived:

$\begin{matrix}{{{{{M \cdot {d}}\; {q\_ cntrl}} + {C^{\prime}{\_ cmpn}}} = {{\tau\_ total}{\_ cntrl}}}{where}{{{{d}\; {q\_ cntrl}} = \begin{pmatrix}{{d}\; {base\_ cntrl}} \\{{d}\; {\theta\_ cntrl}}\end{pmatrix}},{{{\tau\_ total}{\_ cntrl}} = \begin{pmatrix}{{\tau\_ x}{\_ cntrl}} \\{{\tau\_\theta}{\_ cntrl}}\end{pmatrix}}}} & (32)\end{matrix}$

In the above equation, a target displacement acceleration ddbase_cntrlis a vector representation of target displacement accelerationsddbase_(1—)cntrl, ddbase_(2—)cntrl, . . . , ddbase_(n—)cntrl inrespective directions on the base 80. ddq_cntrl which represents thetarget angular accelerations ddθ_cntrl of the plural joints 16 and thetarget displacement acceleration ddbase_cntrl of the base 80 is referredto as a target actuator displacement acceleration, and τ_total_cntrlwhich represents τ_x_cntrl and τ_θ_cntrl is referred to as a generaltarget torque. The target actuator displacement acceleration ddq_cntrlis determined by the target value setter 56 depending on various factorssuch as the state of the base 80, the plural joints 16, etc.

From the equations (31), (32), the following equation (33) is derived inthe same manner as the equation (11) is derived.

$\begin{matrix}{{{{m\_\tau}{\_ total}{\_ cntrl}} = {{M \cdot \left( {I - {t\; {mEff}}} \right)^{- 1} \cdot \left( {{{d}\; {q\_ cntrl}} - {t\; {{mEff} \cdot {d}}\; {q\_ cntrl}{\_ p}}} \right)} + {C\_ cmpn}}}\mspace{79mu} {where}\mspace{79mu} {{{t\; {mEff}} = {M^{- 1} \cdot {totalEff} \cdot M}},{{totalEff} = \begin{pmatrix}{xEff} & 0 \\0 & {Eff}\end{pmatrix}}}} & (33)\end{matrix}$

Therefore, the control torque calculator 58 calculates a general controltorque m_τ_ddq_cntrl based on the target actuator displacementacceleration ddq_cntrl sent from the target value setter 56, and themotor controller 60 controls the plural motors 32 based on thedetermined general control torque m_τ_ddq_cntrl.

It is thus possible to determine a general control torque m_τ_ddq_cntrlso that the actual driver displacement acceleration ddq_act will reachthe present target actuator displacement acceleration ddq_cntrl afterthe sampling time DT, based on the present target actuator displacementacceleration ddq_cntrl, the pervious target actuator displacementacceleration ddq_cntrl_p, the inertial matrix M, the force responsematrix F_Eff, the displaceable member torque response matrix Eff, etc.When the motors 32 of the joints 16 _(i) are controlled based on thegeneral control torque m_τ_ddq_cntrl, the responsiveness of theactuation of the joints 16 _(i) and the base 80 can be improved.

Modification 2

In the above embodiment and Modification 1, the joints 16 that arerotatable have been described as displaceable members. However,back-and-forth members which are actuatable linearly (actuatable backand forth) may be used as displaceable members.

FIG. 7 schematically shows the structure of a displaceable memberactuating system 30 of an actuator 12 according to Modification 2. Asshown in FIG. 7, the displaceable member actuating system 30 includes amotor 32, an actuating force converter 100, a power transmissionassembly 104 having elastic members 102, and a back-and-forth member 106connected to the actuating force converter 100 by the elastic members102. Those parts shown in FIG. 7 which are identical to those shown inFIG. 2 are denoted by identical reference characters.

The actuating force converter 100 is threaded over an externallythreaded output shaft 32 a of the motor 32. When the output shaft 32 ais rotated about its own axis by the motor 32, the actuating forceconverter 100 is axially moved in one of the directions indicated by thearrow. The actuating force converter 100 and the back-and-forth member106 are connected to each other by the power transmission assembly 104.Therefore, when the actuating force converter 100 moves on and along theoutput shaft 32 a, the back-and-forth member 106 is also moved in one ofthe directions indicated by the arrow. In FIG. 7, the power transmissionassembly 104 is illustrated as having the elastic members 102. However,the power transmission assembly 104 may be devoid of the elastic members102. The motor 32 is combined with an angle sensor 36 for detecting theangle of the motor 32, and the back-and-forth member 106 is combinedwith a torque sensor 38 for detecting the torque of the back-and-forthmember 106.

Even if each of the joints 16 is replaced with the back-and-forth member106 which is movable back and forth by the motor 32 shown in FIG. 7, theequations (2) through (33) according to the above embodiment andModification 1 are also satisfied. Therefore, the responsiveness can beimproved for the back-and-forth member 106 replacing each of the joints16. A speed reducer, not shown, may be connected to the output shaft 32a of the motor 32, and the actuating force converter 100 may be threadedover an externally threaded output shaft of the speed reducer.

Modification 3

In the above embodiment and Modification 1, no elastic members areinterposed between the motors 32 and the joints 16. However, elasticmembers may be interposed between the motors 32 and the joints 16.

FIG. 8 schematically shows the structure of a displaceable memberactuating system 30 of an actuator 12 according to Modification 3. Asshown in FIG. 8, the displaceable member actuating system 30 includes amotor 32, a speed reducer 34, a first pulley 110, a wire 112, a secondpulley 114, and a joint 16.

The speed reducer 34 has an input shaft 34 a connected to an outputshaft 32 a of the motor 32, and an output shaft 34 b connected to aninput shaft 110 a of the first pulley 110. The wire 112 comprises anannular elastic member which is trained around the first pulley 110 andthe second pulley 114. The wire 112 transmits rotational power from thefirst pulley 110 to the second pulley 114. The second pulley 114 has anoutput shaft 114 a connected to the joint 16. The motor 32 is combinedwith an angle sensor 36 for detecting the angle of the motor 32, and thesecond pulley 114 is combined with a torque sensor 38 for detecting thetorque applied to the joint 16.

While the preferred embodiment of the present invention has beendescribed, the technical scope of the present invention is not limitedto the disclosure of the embodiment. It is obvious to those skilled inthe art that various changes and modifications may be made to the aboveembodiment. Those change and modifications should be interpreted asbeing covered by the technical scope of the present invention as definedby the appended claims.

What is claimed is:
 1. An actuating apparatus comprising: an actuatorincluding a link having a plurality of displaceable members and aplurality of rotary prime movers for actuating the displaceable members;and a controller for controlling the actuator; wherein the controllerincludes a control torque calculator for calculating a control torquefor the displaceable members so that an actual angular acceleration ofthe displaceable members will reach a present target angularacceleration of the displaceable members after a sampling time, using adisplaceable member torque response matrix representing a torqueresponse of the displaceable members, an inertial matrix of the actuatordetermined by an angle of the displaceable members, the present targetangular acceleration of the displaceable members, and a preceding targetangular acceleration of the displaceable members.
 2. The actuatingapparatus according to claim 1, wherein each of the displaceable memberscomprises a joint which is rotatable or a back-and-forth member which isactuatable back and forth.
 3. The actuating apparatus according to claim1, wherein the controller calculates the control torque according to thefollowing equation (1): $\begin{matrix}{{{{m\_\tau}{\_ cntrl}} = {{M \cdot \left( {I - {m\; {Eff}}} \right)^{- 1} \cdot \left( {{{d}\; {\theta\_ cntrl}} - {{{mEff} \cdot {d}}\; {\theta\_ cntrl}{\_ p}}} \right)} + {C\_ cmpn}}}\mspace{79mu} {where}\mspace{79mu} {{mEff} = {M^{- 1} \cdot {Eff} \cdot M}}{{Eff} = {\begin{pmatrix}{eff}_{1} & \; & 0 \\\; & \ddots & \; \\0 & \; & {eff}_{n}\end{pmatrix} = \begin{pmatrix}{\frac{{Tc}_{1}}{DT} \cdot \left( {1 - {\exp \left( {- \frac{DT}{{Tc}_{1}}} \right)}} \right)} & \; & 0 \\\; & \ddots & \; \\0 & \; & {\frac{{Tc}_{n}}{DT} \cdot \left( {1 - {\exp \left( {- \frac{DT}{{Tc}_{n}}} \right)}} \right)}\end{pmatrix}}}\mspace{79mu} {{{{m\_\tau}{\_ cntrl}} = \begin{pmatrix}{{m\_\tau}_{1}{\_ cntrl}} \\{{m\_\tau}_{2}{\_ cntrl}} \\\vdots \\{{m\_\tau}_{n}{\_ cntrl}}\end{pmatrix}},{{{d}\; {\theta\_ cntrl}} = \begin{pmatrix}{{d}\; \theta_{1}{\_ cntrl}} \\{{d}\; \theta_{2}{\_ cntrl}} \\\vdots \\{{d}\; \theta_{n}{\_ cntrl}}\end{pmatrix}},\mspace{79mu} {{C\_ cmpn} = \begin{pmatrix}{C_{1}{\_ cmpn}} \\{C_{2}{\_ cmpn}} \\\vdots \\{C_{n}{\_ cmpn}}\end{pmatrix}}}} & (1)\end{matrix}$ where m_τ_(i—)cntrl represents control torques for irespective displaceable members, M represents an inertial matrix of theactuator, I represents a unit matrix, Eff is a displaceable membertorque response matrix, eff_(i) are displaceable member torque responsecoefficients, Tc_(i) are time constants for i respective displaceablemembers, DT represents a sampling time, ddθ_(i—)cntrl are target angularaccelerations for respective i displaceable members, ddθ_cntrl_p is avector representation of preceding target angular accelerationsddθ_(i—)cntrl_p for the respective i displaceable members, andC_(i—)cmpn are force vectors generated by motions of displaceablemembers, wherein i=0, 1, 2, . . . , n.
 4. The actuating apparatusaccording to claim 3, wherein minimum time constants for thedisplaceable members is measured, and displaceable member torqueresponse coefficients which are diagonal elements of the displaceablemember torque response matrix are set using the measured minimum timeconstants.
 5. The actuating apparatus according to claim 1, wherein thecontrol torque calculator calculates the present target angularacceleration of the displaceable members and the preceding targetangular acceleration of the displaceable members, using a present targetacceleration of change and a preceding target acceleration of change ata predetermined task position on the link and a coefficient matrixrepresenting the relationship between a rate of change at the taskposition and angular velocities of the displaceable members, for therebycalculating the control torque for the displaceable members so that anactual acceleration of change at the task position will reach thepresent target acceleration of change after the sampling time.
 6. Theactuating apparatus according to claim 1, wherein the actuator includesa base supported on the link; and the control torque calculatorcalculates the control torque for the displaceable members so that anactual actuator displacement acceleration which includes an actualangular acceleration of the displaceable members and actual displacementaccelerations in respective directions of the base will reach a presenttarget actuator displacement acceleration after the sampling time, fromthe present target actuator displacement acceleration which includes thepresent target angular acceleration and target displacementaccelerations in respective directions for the base, and a precedingtarget actuator displacement acceleration, using a force response matrixrepresenting the response of a force which a task position on a distalend of the link receives from the ground, a coefficient matrixrepresenting the relationship between rates of change in respectivedirections of the base and a rate of change at the task position on thelink, and a coefficient matrix representing the relationship between therate of change at the task position and an angular velocity of thedisplaceable members.